package com.zxy.pojo.dto;

import jakarta.validation.constraints.Pattern;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import java.util.Map;

/**
 * 转派管理-列表查询参数VO（接收GET请求的query参数）
 */
@Data
public class TransferListQueryDTO {
    /** 页码（默认1，最小1） */
    @Range(min = 1, message = "页码不能小于1")
    private Integer pageNum = 1;

    /** 每页条数（默认10，1-100之间） */
    @Range(min = 1, max = 100, message = "每页条数需在1-100之间")
    private Integer pageSize = 10;

    /** 用户ID（可选，精确查询） */
    private Long userId;

    /** 用户名（可选，模糊查询） */
    private String userName;

    /** 手机号（可选，精确查询） */
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式错误")
    private String phonenumber;

    /** 时间范围参数（对应请求中的params[beginTime]、params[endTime]） */
    private Map<String, String> params;

    /**
     * 获取开始时间
     * @return 开始时间
     */
    public String getBeginTime() {
        return params != null ? params.get("beginTime") : null;
    }

    /**
     * 获取结束时间
     * @return 结束时间
     */
    public String getEndTime() {
        return params != null ? params.get("endTime") : null;
    }
}